Web Application HTTPS Data Flow

🔄 전체 데이터 흐름도

사용자/브라우저 -> [HTTPS 요청] -> Nginx 웹서버:443
                                    |
                          [SSL 암호화/복호화]
                                    |
                            [Proxy 전달]
                                    |
                              Node.js:3000
                                    |
                                [응답]
                                    |
                          [SSL 암호화된 응답]
                                    |
                            사용자/브라우저

📝 상세 단계 설명

1. 클라이언트 요청 단계

사용자 -> [http://도메인] -> Nginx:80 -> [리다이렉트] -> Nginx:443
사용자 -> [https://도메인] ------------------> Nginx:443

2. SSL/TLS 처리

브라우저 -> [SSL 핸드셰이크 시작] -> Nginx
        <- [인증서 전송] <-
        -> [대칭키 교환] ->
        <- [암호화 통신 시작] ->

3. 프록시 처리

Nginx:443 -> [내부 전달] -> Node.js:3000
         <- [응답] <-

🔒 보안 계층

사용자 데이터 -> [SSL/TLS 암호화] -> 전송 계층 -> [Nginx 프록시] -> 애플리케이션 계층

🌐 DNS 연결

도메인 -> [DNS 조회] -> 공인 IP -> [포트 포워딩] -> Nginx:443

이러한 구조로 인해:

주요 포트 정리:

💡 이 구조에서 Nginx는 리버스 프록시 역할을 수행하며, SSL 종단점(SSL Termination Point)으로 작동합니다.